/**
 * Description:
 * Class Name:ListTest3
 * Date:2022/3/5 14:54
 *
 * @author LTisme
 * @version JAVA17
 */
package 疯狂Java讲义.第8章_Java集合._8_4_List集合._8_4_1_改进的List接口和ListIterator接口;

import java.util.ArrayList;

public class ListTest3 {
    public static void main(String[] args) {
        var books = new ArrayList();
        // 向books集合中添加4个元素
        books.add("轻量级Java EE 企业应用实战");
        books.add("疯狂Java讲义");
        books.add("疯狂Android讲义");
        books.add("疯狂IOS讲义");
        System.out.println(books);
        // 使用目标类型为Comparator的Lambda表达式对List集合排序————指定的规则是按字符串长度升序
        books.sort(((o1, o2) -> ((String) o1).length() - ((String) o2).length()));
        System.out.println(books);

        // 使用目标类型为UnaryOperator的Lambda表达式来替换集合中所有元素，该Lambda表达式控制使用每个字符串长度作为新的集合元素————指定的替换规则是换成对应的字符串长度
        books.replaceAll(ele -> ((String) ele).length());
        System.out.println(books);
    }
}
//[轻量级Java EE 企业应用实战, 疯狂Java讲义, 疯狂Android讲义, 疯狂IOS讲义]
//[疯狂IOS讲义, 疯狂Java讲义, 疯狂Android讲义, 轻量级Java EE 企业应用实战]
//[7, 8, 11, 17]